dwc_otg: make periodic scheduling behave properly for FS buses
authorP33M <p33m@github.com>
Thu, 25 May 2017 15:04:53 +0000 (16:04 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Thu, 15 Feb 2018 17:37:54 +0000 (17:37 +0000)
commit67b3b09518e6a74199d79f6227dc419f476d5c07
tree525cb05a6f725d5cf4d7ca4dabb8f9c2ed658afc
parentd02a72e7b44efb2b42234bed3cce864aaf938c09
dwc_otg: make periodic scheduling behave properly for FS buses

If the root port is in full-speed mode, transfer times at 12mbit/s
would be calculated but matched against high-speed quotas.

Reinitialise hcd->frame_usecs[i] on each port enable event so that
full-speed bandwidth can be tracked sensibly.

Also, don't bother using the FIQ for transfers when in full-speed
mode - at the slower bus speed, interrupt frequency is reduced by
an order of magnitude.

Related issue: https://github.com/raspberrypi/linux/issues/2020
drivers/usb/host/dwc_otg/dwc_otg_hcd.c
drivers/usb/host/dwc_otg/dwc_otg_hcd.h
drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c